/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package bll;

import entity.*;
import exceptions.EmptyArrayException;

import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Daniel
 */
public class BLLLoja {

    HashMap<Integer, Venda>  vendas = new HashMap<Integer, Venda>();


    public Produto[] getProdutosFromMemory(){
        entity.Produto[] produtos = new Produto[5];
        for (int i = 0; i < produtos.length; i++)
            produtos[i] = new Produto(i, "nome"+String.valueOf(i), "descricao"+String.valueOf(i), Double.parseDouble(String.valueOf(i)));
        return produtos;
    }

    public Produto[] getProdutosFromBase(){
        System.out.println("\trecuperando produtos da base postgresql");
        Produto[] produtos = null;
        try {
            produtos = BLLProduto.selectProdutos();
        } catch (EmptyArrayException ex) {
            Logger.getLogger(BLLLoja.class.getName()).log(Level.SEVERE, null, ex);
        }
        return produtos;
    }

    public int iniciarVenda(Funcionario funcionario, Cliente cliente){
        System.out.println("\tIniciando Venda func: "+funcionario.getNome() + " - cliente: " + cliente.getNome());
        Venda venda = BLLVenda.insertVenda(funcionario, cliente);
        vendas.put(venda.getId(), venda);
        return venda.getId();
    }

    public void adicionarProduto(int idVenda, int idProduto){
        System.out.println("\tAdicionando Produto id: "+idProduto);
        Produto produto = BLLProduto.selectProduto(idProduto);
        vendas.get(idVenda).addProdutos(produto);
    }

    public Venda recuperarVenda(int idVenda){
        System.out.println("\tRecuperando venda id: "+idVenda);
        return vendas.get(idVenda);
    }


}
